1#include <js_native_api.h> 2#include "../common.h" 3#include "../entry_point.h" 4 5static 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 27EXTERN_C_START 28napi_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} 38EXTERN_C_END 39