Skip to content

Commit b97e848

Browse files
committed
make cleaner and reduce clones
1 parent e955037 commit b97e848

File tree

1 file changed

+28
-33
lines changed

1 file changed

+28
-33
lines changed

src/graph.rs

Lines changed: 28 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2494,7 +2494,7 @@ impl ModuleGraph {
24942494
self.has_node_specifier = has_node_specifier;
24952495
}
24962496

2497-
/// Removes the npm specifiers from the graph including roots and redirects.
2497+
/// Removes the npm specifiers from the graph including roots, redirects, and imports.
24982498
pub fn remove_npm_specifiers(&mut self) {
24992499
self
25002500
.module_slots
@@ -5182,6 +5182,22 @@ impl<'a, 'graph> Builder<'a, 'graph> {
51825182
}
51835183

51845184
let specifier = specifier.clone();
5185+
let build_load_url_item = |specifier: Url,
5186+
maybe_attribute_type: Option<
5187+
AttributeTypeWithRange,
5188+
>| PendingModuleLoadItem {
5189+
redirect_count,
5190+
requested_specifier: specifier.clone(),
5191+
maybe_attribute_type,
5192+
maybe_range: maybe_range.cloned(),
5193+
maybe_source_phase_referrer: maybe_source_phase_referrer.cloned(),
5194+
load_specifier: specifier,
5195+
is_asset: options.is_asset,
5196+
in_dynamic_branch: options.in_dynamic_branch,
5197+
is_root: options.is_root,
5198+
maybe_checksum: None,
5199+
maybe_version_info: None,
5200+
};
51855201
match self.parse_load_specifier_kind(&specifier, maybe_range) {
51865202
Ok(LoadSpecifierKind::Jsr(package_req_ref)) => {
51875203
self.mark_jsr_dep(&package_req_ref, maybe_range);
@@ -5190,7 +5206,7 @@ impl<'a, 'graph> Builder<'a, 'graph> {
51905206
self.graph.module_slots.insert(
51915207
specifier.clone(),
51925208
ModuleSlot::Module(Module::External(ExternalModule {
5193-
specifier: specifier.clone(),
5209+
specifier,
51945210
maybe_cache_info: None,
51955211
was_asset_load: false,
51965212
})),
@@ -5212,57 +5228,36 @@ impl<'a, 'graph> Builder<'a, 'graph> {
52125228
if let Some(npm_resolver) = self.npm_resolver {
52135229
self.load_npm_specifier(
52145230
npm_resolver,
5215-
specifier.clone(),
5231+
specifier,
52165232
package_req_ref,
52175233
maybe_range,
52185234
options.in_dynamic_branch,
52195235
);
52205236
} else {
5221-
self.load_pending_module(PendingModuleLoadItem {
5222-
redirect_count,
5223-
requested_specifier: specifier.clone(),
5224-
maybe_attribute_type: options.maybe_attribute_type,
5225-
maybe_range: maybe_range.cloned(),
5226-
maybe_source_phase_referrer: maybe_source_phase_referrer.cloned(),
5227-
load_specifier: specifier.clone(),
5228-
is_asset: options.is_asset,
5229-
in_dynamic_branch: options.in_dynamic_branch,
5230-
is_root: options.is_root,
5231-
maybe_checksum: None,
5232-
maybe_version_info: None,
5233-
});
5237+
self.load_pending_module(build_load_url_item(
5238+
specifier,
5239+
options.maybe_attribute_type,
5240+
))
52345241
}
52355242
}
52365243
Ok(LoadSpecifierKind::Node(module_name)) => {
52375244
self.graph.has_node_specifier = true;
52385245
self.graph.module_slots.insert(
52395246
specifier.clone(),
52405247
ModuleSlot::Module(Module::Node(BuiltInNodeModule {
5241-
specifier: specifier.clone(),
5248+
specifier,
52425249
module_name,
52435250
})),
52445251
);
52455252
}
5246-
Ok(LoadSpecifierKind::Url) => {
5247-
self.load_pending_module(PendingModuleLoadItem {
5248-
redirect_count,
5249-
requested_specifier: specifier.clone(),
5250-
maybe_attribute_type: options.maybe_attribute_type,
5251-
maybe_range: maybe_range.cloned(),
5252-
maybe_source_phase_referrer: maybe_source_phase_referrer.cloned(),
5253-
load_specifier: specifier.clone(),
5254-
is_asset: options.is_asset,
5255-
in_dynamic_branch: options.in_dynamic_branch,
5256-
is_root: options.is_root,
5257-
maybe_checksum: None,
5258-
maybe_version_info: None,
5259-
});
5260-
}
5253+
Ok(LoadSpecifierKind::Url) => self.load_pending_module(
5254+
build_load_url_item(specifier, options.maybe_attribute_type),
5255+
),
52615256
Err(err) => {
52625257
self
52635258
.graph
52645259
.module_slots
5265-
.insert(specifier.clone(), ModuleSlot::Err(err));
5260+
.insert(specifier, ModuleSlot::Err(err));
52665261
}
52675262
}
52685263
}

0 commit comments

Comments
 (0)