xref: /third_party/node/test/js-native-api/test_symbol/test_symbol.c (revision 1cb0ef41)
  • Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /third_party/node/test/js-native-api/test_symbol/
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

Indexes created Thu Nov 07 10:32:03 CST 2024