@@ -3,6 +3,32 @@ use std::path::PathBuf;
33use swc:: config:: IsModule ;
44use wasm_bindgen:: prelude:: * ;
55
6+ #[ cfg_attr(
7+ feature = "serde" ,
8+ derive( serde:: Serialize , serde:: Deserialize ) ,
9+ serde( rename_all = "lowercase" )
10+ ) ]
11+ #[ cfg_attr(
12+ feature = "wasm" ,
13+ derive( tsify:: Tsify ) ,
14+ tsify( into_wasm_abi, from_wasm_abi)
15+ ) ]
16+ pub enum ModuleType {
17+ ESM ,
18+ CJS ,
19+ Unknown ,
20+ }
21+
22+ impl From < ModuleType > for IsModule {
23+ fn from ( value : ModuleType ) -> Self {
24+ match value {
25+ ModuleType :: ESM => IsModule :: Bool ( true ) ,
26+ ModuleType :: CJS => IsModule :: Bool ( false ) ,
27+ ModuleType :: Unknown => IsModule :: Unknown ,
28+ }
29+ }
30+ }
31+
632#[ wasm_bindgen]
733pub struct InstrumentationMatcher ( Instrumentor ) ;
834
@@ -33,10 +59,9 @@ pub struct Transformer(InstrumentationVisitor);
3359#[ wasm_bindgen]
3460impl Transformer {
3561 #[ wasm_bindgen]
36- pub fn transform ( & mut self , contents : & str , is_module : bool ) -> Result < String , JsError > {
37- let is_module = IsModule :: Bool ( is_module) ;
62+ pub fn transform ( & mut self , contents : & str , is_module : ModuleType ) -> Result < String , JsError > {
3863 self . 0
39- . transform ( contents, is_module)
64+ . transform ( contents, is_module. into ( ) )
4065 . map_err ( |e| JsError :: new ( & e. to_string ( ) ) )
4166 }
4267}
0 commit comments