Skip to content

Commit 22b49a9

Browse files
committed
Apply simplifications based on review feedback
1 parent 943f601 commit 22b49a9

File tree

1 file changed

+14
-41
lines changed

1 file changed

+14
-41
lines changed

crates/next-custom-transforms/src/transforms/server_actions.rs

Lines changed: 14 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ use rustc_hash::{FxHashMap, FxHashSet};
1616
use serde::Deserialize;
1717
use sha1::{Digest, Sha1};
1818
use swc_core::{
19-
atoms::{atom, Atom},
19+
atoms::{atom, Atom, Wtf8Atom},
2020
common::{
2121
comments::{Comment, CommentKind, Comments, SingleThreadedComments},
2222
errors::HANDLER,
@@ -198,15 +198,9 @@ fn generate_server_references_comment(
198198
entry_path_query: Option<(&str, &str)>,
199199
) -> String {
200200
// Convert ModuleExportName to string for serialization
201-
let export_map: BTreeMap<&Atom, String> = export_names_ordered_by_reference_id
201+
let export_map: BTreeMap<_, _> = export_names_ordered_by_reference_id
202202
.iter()
203-
.map(|(ref_id, export_name)| {
204-
let name_str = match export_name {
205-
ModuleExportName::Ident(i) => i.sym.to_string(),
206-
ModuleExportName::Str(s) => s.value.to_string_lossy().into_owned(),
207-
};
208-
(*ref_id, name_str)
209-
})
203+
.map(|(ref_id, export_name)| (*ref_id, export_name.atom()))
210204
.collect();
211205

212206
format!(
@@ -284,14 +278,8 @@ impl<C: Comments> ServerActions<C> {
284278
hasher.update(self.config.hash_salt.as_bytes());
285279
hasher.update(self.file_name.as_bytes());
286280
hasher.update(b":");
287-
288-
let export_name_bytes = match export_name {
289-
ModuleExportName::Ident(ident) => &ident.sym.as_bytes(),
290-
ModuleExportName::Str(s) => &s.value.as_bytes(),
291-
};
292-
293-
hasher.update(export_name_bytes);
294-
281+
let export_name_atom = export_name.atom();
282+
hasher.update(export_name_atom.as_bytes());
295283
let mut result = hasher.finalize().to_vec();
296284

297285
// Prepend an extra byte to the ID, with the following format:
@@ -1725,25 +1713,12 @@ impl<C: Comments> VisitMut for ServerActions<C> {
17251713
match spec {
17261714
ExportSpecifier::Named(ExportNamedSpecifier {
17271715
orig: ModuleExportName::Ident(orig),
1728-
exported: Some(ModuleExportName::Ident(exported)),
1729-
..
1730-
}) => {
1731-
// export { foo as bar }
1732-
self.export_name_by_local_id.insert(
1733-
orig.to_id(),
1734-
ModuleExportName::Ident(exported.clone()),
1735-
);
1736-
}
1737-
ExportSpecifier::Named(ExportNamedSpecifier {
1738-
orig: ModuleExportName::Ident(orig),
1739-
exported: Some(ModuleExportName::Str(exported)),
1716+
exported: Some(exported),
17401717
..
17411718
}) => {
1742-
// export { foo as "📙" }
1743-
self.export_name_by_local_id.insert(
1744-
orig.to_id(),
1745-
ModuleExportName::Str(exported.clone()),
1746-
);
1719+
// export { foo as bar } or export { foo as "📙" }
1720+
self.export_name_by_local_id
1721+
.insert(orig.to_id(), exported.clone());
17471722
}
17481723
ExportSpecifier::Named(ExportNamedSpecifier {
17491724
orig: ModuleExportName::Ident(orig),
@@ -2004,13 +1979,6 @@ impl<C: Comments> VisitMut for ServerActions<C> {
20041979

20051980
let var_ident = Ident::new(var_name.clone(), DUMMY_SP, self.private_ctxt);
20061981

2007-
let export_name_str: Atom = match export_name {
2008-
ModuleExportName::Ident(i) => i.sym.clone(),
2009-
ModuleExportName::Str(s) => {
2010-
Atom::from(s.value.to_string_lossy().as_ref())
2011-
}
2012-
};
2013-
20141982
// Determine span for the variable name. In development, we generate these
20151983
// spans for sourcemapping with better logs/errors. For production, this is
20161984
// not generated because it would leak server code to the browser.
@@ -2021,6 +1989,11 @@ impl<C: Comments> VisitMut for ServerActions<C> {
20211989
DUMMY_SP
20221990
};
20231991

1992+
let export_name_str: Wtf8Atom = match export_name {
1993+
ModuleExportName::Ident(i) => i.sym.clone().into(),
1994+
ModuleExportName::Str(s) => s.value.clone(),
1995+
};
1996+
20241997
let var_decl = ModuleItem::Stmt(Stmt::Decl(Decl::Var(Box::new(VarDecl {
20251998
span: DUMMY_SP,
20261999
kind: VarDeclKind::Const,

0 commit comments

Comments
 (0)