Skip to content

Latest commit

 

History

History
408 lines (325 loc) · 14.8 KB

instance_wrap.md

File metadata and controls

408 lines (325 loc) · 14.8 KB

InstanceWrap

This class serves as the base class for Napi::ObjectWrap<T> and Napi::Addon<T>.

In the case of Napi::Addon<T> it provides the methods for exposing functions to JavaScript on instances of an add-on.

As a base class for Napi::ObjectWrap<T> it provides the methods for exposing instance methods of JavaScript objects instantiated from the JavaScript class corresponding to the subclass of Napi::ObjectWrap<T>.

Methods

InstanceMethod

Creates a property descriptor that represents a method exposed on JavaScript instances of this class.

template <typename T>
static Napi::ClassPropertyDescriptor<T>
Napi::InstanceWrap<T>::InstanceMethod(const char* utf8name,
                             InstanceVoidMethodCallback method,
                             napi_property_attributes attributes = napi_default,
                             void* data = nullptr);
  • [in] utf8name: Null-terminated string that represents the name of the method provided by instances of the class.
  • [in] method: The native function that represents a method provided by the add-on.
  • [in] attributes: The attributes associated with the property. One or more of napi_property_attributes.
  • [in] data: User-provided data passed into the method when it is invoked.

Returns a Napi::ClassPropertyDescriptor<T> object that represents a method provided by instances of the class. The method must be of the form

void MethodName(const Napi::CallbackInfo& info);

InstanceMethod

Creates a property descriptor that represents a method exposed on JavaScript instances of this class.

template <typename T>
static Napi::ClassPropertyDescriptor<T>
Napi::InstanceWrap<T>::InstanceMethod(const char* utf8name,
                             InstanceMethodCallback method,
                             napi_property_attributes attributes = napi_default,
                             void* data = nullptr);
  • [in] utf8name: Null-terminated string that represents the name of the method provided by instances of the class.
  • [in] method: The native function that represents a method provided by the add-on.
  • [in] attributes: The attributes associated with the property. One or more of napi_property_attributes.
  • [in] data: User-provided data passed into the method when it is invoked.

Returns a Napi::ClassPropertyDescriptor<T> object that represents a method provided by instances of the class. The method must be of the form

Napi::Value MethodName(const Napi::CallbackInfo& info);

InstanceMethod

Creates a property descriptor that represents a method exposed on JavaScript instances of this class.

template <typename T>
static Napi::ClassPropertyDescriptor<T>
Napi::InstanceWrap<T>::InstanceMethod(Napi::Symbol name,
                             InstanceVoidMethodCallback method,
                             napi_property_attributes attributes = napi_default,
                             void* data = nullptr);
  • [in] name: JavaScript symbol that represents the name of the method provided by instances of the class.
  • [in] method: The native function that represents a method provided by the add-on.
  • [in] attributes: The attributes associated with the property. One or more of napi_property_attributes.
  • [in] data: User-provided data passed into the method when it is invoked.

Returns a Napi::ClassPropertyDescriptor<T> object that represents a method provided by instances of the class. The method must be of the form

void MethodName(const Napi::CallbackInfo& info);

InstanceMethod

Creates a property descriptor that represents a method exposed on JavaScript instances of this class.

template <typename T>
static Napi::ClassPropertyDescriptor<T>
Napi::InstanceWrap<T>::InstanceMethod(Napi::Symbol name,
                             InstanceMethodCallback method,
                             napi_property_attributes attributes = napi_default,
                             void* data = nullptr);
  • [in] name: JavaScript symbol that represents the name of the method provided by instances of the class.
  • [in] method: The native function that represents a method provided by the add-on.
  • [in] attributes: The attributes associated with the property. One or more of napi_property_attributes.
  • [in] data: User-provided data passed into the method when it is invoked.

Returns a Napi::ClassPropertyDescriptor<T> object that represents a method provided by instances of the class. The method must be of the form

Napi::Value MethodName(const Napi::CallbackInfo& info);

InstanceMethod

Creates a property descriptor that represents a method exposed on JavaScript instances of this class.

<template typename T>
template <typename InstanceWrap<T>::InstanceVoidMethodCallback method>
static Napi::ClassPropertyDescriptor<T>
Napi::InstanceWrap::InstanceMethod(const char* utf8name,
                             napi_property_attributes attributes = napi_default,
                             void* data = nullptr);
  • [in] method: The native function that represents a method provided by the add-on.
  • [in] utf8name: Null-terminated string that represents the name of the method provided by instances of the class.
  • [in] attributes: The attributes associated with the property. One or more of napi_property_attributes.
  • [in] data: User-provided data passed into the method when it is invoked.

Returns a Napi::ClassPropertyDescriptor<T> object that represents a method provided by instances of the class. The method must be of the form

void MethodName(const Napi::CallbackInfo& info);

InstanceMethod

Creates a property descriptor that represents a method exposed on JavaScript instances of this class.

template <typename T>
template <typename InstanceWrap<T>::InstanceMethodCallback method>
static Napi::ClassPropertyDescriptor<T>
Napi::InstanceWrap<T>::InstanceMethod(const char* utf8name,
                             napi_property_attributes attributes = napi_default,
                             void* data = nullptr);
  • [in] method: The native function that represents a method provided by the add-on.
  • [in] utf8name: Null-terminated string that represents the name of the method provided by instances of the class.
  • [in] attributes: The attributes associated with the property. One or more of napi_property_attributes.
  • [in] data: User-provided data passed into the method when it is invoked.

Returns a Napi::ClassPropertyDescriptor<T> object that represents a method provided by instances of the class. The method must be of the form

Napi::Value MethodName(const Napi::CallbackInfo& info);

InstanceMethod

Creates a property descriptor that represents a method exposed on JavaScript instances of this class.

template <typename T>
template <typename InstanceWrap<T>::InstanceVoidMethodCallback method>
static Napi::ClassPropertyDescriptor<T>
Napi::InstanceWrap<T>::InstanceMethod(Napi::Symbol name,
                             napi_property_attributes attributes = napi_default,
                             void* data = nullptr);
  • [in] method: The native function that represents a method provided by the add-on.
  • [in] name: The Napi::Symbol object whose value is used to identify the instance method for the class.
  • [in] attributes: The attributes associated with the property. One or more of napi_property_attributes.
  • [in] data: User-provided data passed into the method when it is invoked.

Returns a Napi::ClassPropertyDescriptor<T> object that represents a method provided by instances of the class. The method must be of the form

void MethodName(const Napi::CallbackInfo& info);

InstanceMethod

Creates a property descriptor that represents a method exposed on JavaScript instances of this class.

template <typename T>
template <InstanceWrap<T>::InstanceMethodCallback method>
static Napi::ClassPropertyDescriptor<T>
Napi::InstanceWrap<T>::InstanceMethod(Napi::Symbol name,
                             napi_property_attributes attributes = napi_default,
                             void* data = nullptr);
  • [in] method: The native function that represents a method provided by the add-on.
  • [in] name: The Napi::Symbol object whose value is used to identify the instance method for the class.
  • [in] attributes: The attributes associated with the property. One or more of napi_property_attributes.
  • [in] data: User-provided data passed into the method when it is invoked.

Returns a Napi::ClassPropertyDescriptor<T> object that represents a method provided by instances of the class. The method must be of the form

Napi::Value MethodName(const Napi::CallbackInfo& info);

InstanceAccessor

Creates a property descriptor that represents a property exposed on JavaScript instances of this class.

template <typename T>
static Napi::ClassPropertyDescriptor<T>
Napi::InstanceWrap<T>::InstanceAccessor(const char* utf8name,
                             InstanceGetterCallback getter,
                             InstanceSetterCallback setter,
                             napi_property_attributes attributes = napi_default,
                             void* data = nullptr);
  • [in] utf8name: Null-terminated string that represents the name of the method provided by instances of the class.
  • [in] getter: The native function to call when a get access to the property is performed.
  • [in] setter: The native function to call when a set access to the property is performed.
  • [in] attributes: The attributes associated with the property. One or more of napi_property_attributes.
  • [in] data: User-provided data passed into the getter or the setter when it is invoked.

Returns a Napi::ClassPropertyDescriptor<T> object that represents an instance accessor property provided by instances of the class.

InstanceAccessor

Creates a property descriptor that represents a property exposed on JavaScript instances of this class.

template <typename T>
static Napi::ClassPropertyDescriptor<T>
Napi::InstanceWrap<T>::InstanceAccessor(Symbol name,
                             InstanceGetterCallback getter,
                             InstanceSetterCallback setter,
                             napi_property_attributes attributes = napi_default,
                             void* data = nullptr);
  • [in] name: The Napi::Symbol object whose value is used to identify the instance accessor.
  • [in] getter: The native function to call when a get access to the property of a JavaScript class is performed.
  • [in] setter: The native function to call when a set access to the property of a JavaScript class is performed.
  • [in] attributes: The attributes associated with the property. One or more of napi_property_attributes.
  • [in] data: User-provided data passed into the getter or the setter when it is invoked.

Returns a Napi::ClassPropertyDescriptor<T> object that represents an instance accessor property provided instances of the class.

InstanceAccessor

Creates a property descriptor that represents a property exposed on JavaScript instances of this class.

template <typename T>
template <typename InstanceWrap<T>::InstanceGetterCallback getter,
          typename InstanceWrap<T>::InstanceSetterCallback setter=nullptr>
static Napi::ClassPropertyDescriptor<T>
Napi::InstanceWrap<T>::InstanceAccessor(const char* utf8name,
                             napi_property_attributes attributes = napi_default,
                             void* data = nullptr);
  • [in] getter: The native function to call when a get access to the property of a JavaScript class is performed.
  • [in] setter: The native function to call when a set access to the property of a JavaScript class is performed.
  • [in] utf8name: Null-terminated string that represents the name of the method provided by instances of the class.
  • [in] attributes: The attributes associated with the property. One or more of napi_property_attributes.
  • [in] data: User-provided data passed into the getter or the setter when it is invoked.

Returns a Napi::ClassPropertyDescriptor<T> object that represents an instance accessor property provided by instances of the class.

InstanceAccessor

Creates a property descriptor that represents a property exposed on JavaScript instances of this class.

template <typename T>
template <typename InstanceWrap<T>::InstanceGetterCallback getter,
          typename InstanceWrap<T>::InstanceSetterCallback setter=nullptr>
static Napi::ClassPropertyDescriptor<T>
Napi::InstanceWrap<T>::InstanceAccessor(Symbol name,
                             napi_property_attributes attributes = napi_default,
                             void* data = nullptr);
  • [in] getter: The native function to call when a get access to the property of a JavaScript class is performed.
  • [in] setter: The native function to call when a set access to the property of a JavaScript class is performed.
  • [in] name: The Napi::Symbol object whose value is used to identify the instance accessor.
  • [in] attributes: The attributes associated with the property. One or more of napi_property_attributes.
  • [in] data: User-provided data passed into the getter or the setter when it is invoked.

Returns a Napi::ClassPropertyDescriptor<T> object that represents an instance accessor property provided by instances of the class.

InstanceValue

Creates property descriptor that represents a value exposed on JavaScript instances of this class.

template <typename T>
static Napi::ClassPropertyDescriptor<T>
Napi::InstanceWrap<T>::InstanceValue(const char* utf8name,
                            Napi::Value value,
                            napi_property_attributes attributes = napi_default);
  • [in] utf8name: Null-terminated string that represents the name of the property.
  • [in] value: The value that's retrieved by a get access of the property.
  • [in] attributes: The attributes associated with the property. One or more of napi_property_attributes.

Returns a Napi::ClassPropertyDescriptor<T> object that represents an instance value property of an add-on.

InstanceValue

Creates property descriptor that represents a value exposed on JavaScript instances of this class.

template <typename T>
static Napi::ClassPropertyDescriptor<T>
Napi::InstanceWrap<T>::InstanceValue(Symbol name,
                            Napi::Value value,
                            napi_property_attributes attributes = napi_default);
  • [in] name: The Napi::Symbol object whose value is used to identify the name of the property.
  • [in] value: The value that's retrieved by a get access of the property.
  • [in] attributes: The attributes associated with the property. One or more of napi_property_attributes.

Returns a Napi::ClassPropertyDescriptor<T> object that represents an instance value property of an add-on.