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