@@ -56,7 +56,18 @@ impl ModuleLoaderBuilder {
5656 R : ModuleDef + HasModule ,
5757 M : AsModule < O , R > ,
5858 {
59- self . add_module ( module) ;
59+ self . process_module ( module, None ) ;
60+ self
61+ }
62+
63+ #[ must_use]
64+ pub fn with_module_named < O , M , R > ( mut self , module : M , name : & ' static str ) -> Self
65+ where
66+ for < ' js > O : JsLifetime < ' js > + ' static ,
67+ R : ModuleDef + HasModule ,
68+ M : AsModule < O , R > ,
69+ {
70+ self . process_module ( module, Some ( name) ) ;
6071 self
6172 }
6273
@@ -66,7 +77,25 @@ impl ModuleLoaderBuilder {
6677 R : ModuleDef + HasModule ,
6778 M : AsModule < O , R > ,
6879 {
69- let name = R :: name ( ) ;
80+ self . process_module ( module, None )
81+ }
82+
83+ pub fn add_module_named < O , M , R > ( & mut self , module : M , name : & ' static str ) -> & mut Self
84+ where
85+ for < ' js > O : JsLifetime < ' js > + ' static ,
86+ R : ModuleDef + HasModule ,
87+ M : AsModule < O , R > ,
88+ {
89+ self . process_module ( module, Some ( name) )
90+ }
91+
92+ fn process_module < O , M , R > ( & mut self , module : M , name : Option < & ' static str > ) -> & mut Self
93+ where
94+ for < ' js > O : JsLifetime < ' js > + ' static ,
95+ R : ModuleDef + HasModule ,
96+ M : AsModule < O , R > ,
97+ {
98+ let name = name. unwrap_or ( R :: name ( ) ) ;
7099 let m = module. as_module ( ) ;
71100 let o = module. options ( ) ;
72101
0 commit comments