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