git.schokokeks.org
Repositories
Help
Report an Issue
fs-words.git
Code
Commits
Branches
Tags
Suche
Strukturansicht:
6e9c872
Branches
Tags
develop-client_server
master
typescript
fs-words.git
server
lib
node_modules
node-addon-api
doc
reference.md
[add] server:lib:node_modules
Christian Fraß
commited
6e9c872
at 2021-03-08 23:52:07
reference.md
Blame
History
Raw
# Reference (template) Holds a counted reference to a [`Napi::Value`](value.md) object; initially a weak reference unless otherwise specified, may be changed to/from a strong reference by adjusting the refcount. The referenced `Napi::Value` is not immediately destroyed when the reference count is zero; it is merely then eligible for garbage-collection if there are no other references to the `Napi::Value`. `Napi::Reference` objects allocated in static space, such as a global static instance, must call the `SuppressDestruct` method to prevent its destructor, running at program shutdown time, from attempting to reset the reference when the environment is no longer valid. The following classes inherit, either directly or indirectly, from `Napi::Reference`: * [`Napi::ObjectWrap`](object_wrap.md) * [`Napi::ObjectReference`](object_reference.md) * [`Napi::FunctionReference`](function_reference.md) ## Methods ### Factory Method ```cpp static Napi::Reference<T> Napi::Reference::New(const T& value, uint32_t initialRefcount = 0); ``` * `[in] value`: The value which is to be referenced. * `[in] initialRefcount`: The initial reference count. ### Empty Constructor ```cpp Napi::Reference::Reference(); ``` Creates a new _empty_ `Napi::Reference` instance. ### Constructor ```cpp Napi::Reference::Reference(napi_env env, napi_value value); ``` * `[in] env`: The `napi_env` environment in which to construct the `Napi::Reference` object. * `[in] value`: The N-API primitive value to be held by the `Napi::Reference`. ### Env ```cpp Napi::Env Napi::Reference::Env() const; ``` Returns the `Napi::Env` value in which the `Napi::Reference` was instantiated. ### IsEmpty ```cpp bool Napi::Reference::IsEmpty() const; ``` Determines whether the value held by the `Napi::Reference` is empty. ### Value ```cpp T Napi::Reference::Value() const; ``` Returns the value held by the `Napi::Reference`. ### Ref ```cpp uint32_t Napi::Reference::Ref(); ``` Increments the reference count for the `Napi::Reference` and returns the resulting reference count. Throws an error if the increment fails. ### Unref ```cpp uint32_t Napi::Reference::Unref(); ``` Decrements the reference count for the `Napi::Reference` and returns the resulting reference count. Throws an error if the decrement fails. ### Reset (Empty) ```cpp void Napi::Reference::Reset(); ``` Sets the value held by the `Napi::Reference` to be empty. ### Reset ```cpp void Napi::Reference::Reset(const T& value, uint32_t refcount = 0); ``` * `[in] value`: The value which is to be referenced. * `[in] initialRefcount`: The initial reference count. Sets the value held by the `Napi::Reference`. ### SuppressDestruct ```cpp void Napi::Reference::SuppressDestruct(); ``` Call this method on a `Napi::Reference` that is declared as static data to prevent its destructor, running at program shutdown time, from attempting to reset the reference when the environment is no longer valid.