napi_value Init(napi_env env, napi_value exports) { SET_NAMED_METHOD(env, exports, "sayHello", SayHello); SET_NAMED_METHOD(env, exports, "sayError", SayError); SET_NAMED_METHOD(env, exports, "strictEquals", StrictEquals); SET_NAMED_METHOD(env, exports, "instanceof", Instanceof); napi_value id; NAPI_CALL(env, napi_create_int32(env, 321, &id)); NAPI_CALL(env, napi_set_named_property(env, exports, "id", id)); return exports; }
napi_value New(napi_env env, napi_callback_info info) { napi_value ret; NAPI_CALL(env, napi_create_object(env, &ret)); napi_value num; NAPI_CALL(env, napi_create_int32(env, 987654321, &num)); NAPI_CALL(env, napi_set_named_property(env, ret, "test_number", num)); napi_value str; const char* str_val = "test string"; size_t str_len = strlen(str_val); NAPI_CALL(env, napi_create_string_utf8(env, str_val, str_len, &str)); NAPI_CALL(env, napi_set_named_property(env, ret, "test_string", str)); return ret; }
static napi_value TestInt32Truncation(napi_env env, napi_callback_info info) { size_t argc = 1; napi_value args[1]; NAPI_CALL(env, napi_get_cb_info(env, info, &argc, args, NULL, NULL)); NAPI_ASSERT(env, argc >= 1, "Wrong number of arguments"); napi_valuetype valuetype0; NAPI_CALL(env, napi_typeof(env, args[0], &valuetype0)); NAPI_ASSERT(env, valuetype0 == napi_number, "Wrong type of arguments. Expects a number as first argument."); int32_t input; NAPI_CALL(env, napi_get_value_int32(env, args[0], &input)); napi_value output; NAPI_CALL(env, napi_create_int32(env, input, &output)); return output; }
static napi_value GetFinalizeCount(napi_env env, napi_callback_info info) { napi_value result; NAPI_CALL(env, napi_create_int32(env, finalize_count, &result)); return result; }
static napi_value getDeleterCallCount(napi_env env, napi_callback_info info) { napi_value callCount; NAPI_CALL(env, napi_create_int32(env, deleterCallCount, &callCount)); return callCount; }