doc: update attributes used by n-api samples (#35220)
Update n-api samples to create object properties matching to the JS defaults. Using non configurable, non writable properties has its usecases but the JS default for class methods is `configurable` and `writable`. Js properties set by JS code `obj.prop = val` are `configurable`, `writable` and `enumerable`.
This commit is contained in:
parent
ed8af4e938
commit
a63b90e8b1
@ -1777,8 +1777,16 @@ provided by the addon:
|
|||||||
```c
|
```c
|
||||||
napi_value Init(napi_env env, napi_value exports) {
|
napi_value Init(napi_env env, napi_value exports) {
|
||||||
napi_status status;
|
napi_status status;
|
||||||
napi_property_descriptor desc =
|
napi_property_descriptor desc = {
|
||||||
{"hello", NULL, Method, NULL, NULL, NULL, napi_default, NULL};
|
"hello",
|
||||||
|
NULL,
|
||||||
|
Method,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
napi_writable | napi_enumerable | napi_configurable,
|
||||||
|
NULL
|
||||||
|
};
|
||||||
status = napi_define_properties(env, exports, 1, &desc);
|
status = napi_define_properties(env, exports, 1, &desc);
|
||||||
if (status != napi_ok) return NULL;
|
if (status != napi_ok) return NULL;
|
||||||
return exports;
|
return exports;
|
||||||
@ -1805,7 +1813,7 @@ To define a class so that new instances can be created (often used with
|
|||||||
napi_value Init(napi_env env, napi_value exports) {
|
napi_value Init(napi_env env, napi_value exports) {
|
||||||
napi_status status;
|
napi_status status;
|
||||||
napi_property_descriptor properties[] = {
|
napi_property_descriptor properties[] = {
|
||||||
{ "value", NULL, NULL, GetValue, SetValue, NULL, napi_default, NULL },
|
{ "value", NULL, NULL, GetValue, SetValue, NULL, napi_writable | napi_configurable, NULL },
|
||||||
DECLARE_NAPI_METHOD("plusOne", PlusOne),
|
DECLARE_NAPI_METHOD("plusOne", PlusOne),
|
||||||
DECLARE_NAPI_METHOD("multiply", Multiply),
|
DECLARE_NAPI_METHOD("multiply", Multiply),
|
||||||
};
|
};
|
||||||
@ -3719,8 +3727,8 @@ if (status != napi_ok) return status;
|
|||||||
|
|
||||||
// Set the properties
|
// Set the properties
|
||||||
napi_property_descriptor descriptors[] = {
|
napi_property_descriptor descriptors[] = {
|
||||||
{ "foo", NULL, NULL, NULL, NULL, fooValue, napi_default, NULL },
|
{ "foo", NULL, NULL, NULL, NULL, fooValue, napi_writable | napi_configurable, NULL },
|
||||||
{ "bar", NULL, NULL, NULL, NULL, barValue, napi_default, NULL }
|
{ "bar", NULL, NULL, NULL, NULL, barValue, napi_writable | napi_configurable, NULL }
|
||||||
}
|
}
|
||||||
status = napi_define_properties(env,
|
status = napi_define_properties(env,
|
||||||
obj,
|
obj,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user