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