@@ -3,6 +3,32 @@ use std::path::PathBuf;
3
3
use swc:: config:: IsModule ;
4
4
use wasm_bindgen:: prelude:: * ;
5
5
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
+
6
32
#[ wasm_bindgen]
7
33
pub struct InstrumentationMatcher ( Instrumentor ) ;
8
34
@@ -33,10 +59,9 @@ pub struct Transformer(InstrumentationVisitor);
33
59
#[ wasm_bindgen]
34
60
impl Transformer {
35
61
#[ 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 > {
38
63
self . 0
39
- . transform ( contents, is_module)
64
+ . transform ( contents, is_module. into ( ) )
40
65
. map_err ( |e| JsError :: new ( & e. to_string ( ) ) )
41
66
}
42
67
}
0 commit comments