• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include <js_native_api.h>
2 #include "../common.h"
3 
New(napi_env env,napi_callback_info info)4 static napi_value New(napi_env env, napi_callback_info info) {
5   size_t argc = 1;
6   napi_value args[1];
7   NAPI_CALL(env, napi_get_cb_info(env, info, &argc, args, NULL, NULL));
8 
9   napi_value description = NULL;
10   if (argc >= 1) {
11     napi_valuetype valuetype;
12     NAPI_CALL(env, napi_typeof(env, args[0], &valuetype));
13 
14     NAPI_ASSERT(env, valuetype == napi_string,
15         "Wrong type of arguments. Expects a string.");
16 
17     description = args[0];
18   }
19 
20   napi_value symbol;
21   NAPI_CALL(env, napi_create_symbol(env, description, &symbol));
22 
23   return symbol;
24 }
25 
26 EXTERN_C_START
Init(napi_env env,napi_value exports)27 napi_value Init(napi_env env, napi_value exports) {
28   napi_property_descriptor properties[] = {
29     DECLARE_NAPI_PROPERTY("New", New),
30   };
31 
32   NAPI_CALL(env, napi_define_properties(
33       env, exports, sizeof(properties) / sizeof(*properties), properties));
34 
35   return exports;
36 }
37 EXTERN_C_END
38