@@ -26,7 +26,7 @@ fn impl_napi_args(
26
26
_ => return Err ( "NapiArgs can only be derived for structs" ) ,
27
27
} ;
28
28
29
- let ( init_list, count) = match * variant_data {
29
+ let ( init_list, count, imports ) = match * variant_data {
30
30
syn:: VariantData :: Struct ( ref fields) => {
31
31
let inner = fields
32
32
. iter ( )
@@ -46,7 +46,11 @@ fn impl_napi_args(
46
46
{ #( #inner) , * }
47
47
} ;
48
48
49
- ( Some ( outer) , fields. len ( ) )
49
+ let imports = quote ! {
50
+ use :: napi:: NapiValue ;
51
+ } ;
52
+
53
+ ( Some ( outer) , fields. len ( ) , imports)
50
54
}
51
55
52
56
syn:: VariantData :: Tuple ( ref fields) => {
@@ -62,10 +66,10 @@ fn impl_napi_args(
62
66
( #( #inner) , * )
63
67
} ;
64
68
65
- ( Some ( outer) , fields. len ( ) )
69
+ ( Some ( outer) , fields. len ( ) , quote ! { } )
66
70
}
67
71
68
- syn:: VariantData :: Unit => ( None , 0 ) ,
72
+ syn:: VariantData :: Unit => ( None , 0 , quote ! { } ) ,
69
73
} ;
70
74
71
75
let construct = if let Some ( init_list) = init_list {
@@ -87,10 +91,12 @@ fn impl_napi_args(
87
91
cb_info: :: napi:: sys:: napi_callback_info,
88
92
) -> :: napi:: NapiResult <Self > {
89
93
use :: napi:: sys;
90
- use :: napi:: { NapiError , NapiString , NapiValue } ;
94
+ use :: napi:: { NapiError , NapiString } ;
91
95
92
96
use :: std:: ptr;
93
97
98
+ #imports
99
+
94
100
let mut argc = #count;
95
101
let mut argv = [ ptr:: null_mut( ) ; #count] ;
96
102
0 commit comments