11#include <js_native_api.h>
22#include "../common.h"
33
4- #include <stdio.h>
5-
64static double value_ = 1 ;
75static double static_value_ = 10 ;
86
9- static void
10- add_named_status (napi_env env , const char * key , napi_value return_value ) {
11- napi_value prop_value ;
12- const napi_extended_error_info * p_last_error ;
13- NAPI_CALL_RETURN_VOID (env , napi_get_last_error_info (env , & p_last_error ));
14-
15- NAPI_CALL_RETURN_VOID (env ,
16- napi_create_string_utf8 (env ,
17- (p_last_error -> error_message == NULL ?
18- "napi_ok" :
19- p_last_error -> error_message ),
20- NAPI_AUTO_LENGTH ,
21- & prop_value ));
22- NAPI_CALL_RETURN_VOID (env , napi_set_named_property (env ,
23- return_value ,
24- key ,
25- prop_value ));
26- }
27-
287static napi_value TestDefineClass (napi_env env ,
298 napi_callback_info info ) {
309 napi_status status ;
31- napi_value result , return_value , prop_value ;
32- char p_napi_message [100 ] = "" ;
10+ napi_value result , return_value ;
3311
3412 napi_property_descriptor property_descriptor = {
3513 "TestDefineClass" ,
@@ -52,20 +30,12 @@ static napi_value TestDefineClass(napi_env env,
5230 & property_descriptor ,
5331 & result );
5432
55- if (status == napi_invalid_arg ) {
56- snprintf (p_napi_message , 99 , "Invalid argument" );
57- } else {
58- snprintf (p_napi_message , 99 , "Invalid status [%d]" , status );
59- }
60-
61- NAPI_CALL (env , napi_create_string_utf8 (env ,
62- p_napi_message ,
63- NAPI_AUTO_LENGTH ,
64- & prop_value ));
65- NAPI_CALL (env , napi_set_named_property (env ,
66- return_value ,
67- "envIsNull" ,
68- prop_value ));
33+ add_returned_status (env ,
34+ "envIsNull" ,
35+ return_value ,
36+ "Invalid argument" ,
37+ napi_invalid_arg ,
38+ status );
6939
7040 napi_define_class (env ,
7141 NULL ,
@@ -76,7 +46,7 @@ static napi_value TestDefineClass(napi_env env,
7646 & property_descriptor ,
7747 & result );
7848
79- add_named_status (env , "nameIsNull" , return_value );
49+ add_last_status (env , "nameIsNull" , return_value );
8050
8151 napi_define_class (env ,
8252 "TrackedFunction" ,
@@ -87,7 +57,7 @@ static napi_value TestDefineClass(napi_env env,
8757 & property_descriptor ,
8858 & result );
8959
90- add_named_status (env , "cbIsNull" , return_value );
60+ add_last_status (env , "cbIsNull" , return_value );
9161
9262 napi_define_class (env ,
9363 "TrackedFunction" ,
@@ -98,7 +68,7 @@ static napi_value TestDefineClass(napi_env env,
9868 & property_descriptor ,
9969 & result );
10070
101- add_named_status (env , "cbDataIsNull" , return_value );
71+ add_last_status (env , "cbDataIsNull" , return_value );
10272
10373 napi_define_class (env ,
10474 "TrackedFunction" ,
@@ -109,7 +79,7 @@ static napi_value TestDefineClass(napi_env env,
10979 NULL ,
11080 & result );
11181
112- add_named_status (env , "propertiesIsNull" , return_value );
82+ add_last_status (env , "propertiesIsNull" , return_value );
11383
11484
11585 napi_define_class (env ,
@@ -121,7 +91,7 @@ static napi_value TestDefineClass(napi_env env,
12191 & property_descriptor ,
12292 NULL );
12393
124- add_named_status (env , "resultIsNull" , return_value );
94+ add_last_status (env , "resultIsNull" , return_value );
12595
12696 return return_value ;
12797}
0 commit comments