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