From 60867fb030bae582082340ead7dbc7efdc2f5398 Mon Sep 17 00:00:00 2001 From: 8cy <50817549+8cy@users.noreply.github.com> Date: Fri, 3 Apr 2020 02:37:42 -0700 Subject: 2020/04/03, 02:34, v1.2.0 --- node_modules/node-addon-api/doc/buffer.md | 140 ++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 node_modules/node-addon-api/doc/buffer.md (limited to 'node_modules/node-addon-api/doc/buffer.md') diff --git a/node_modules/node-addon-api/doc/buffer.md b/node_modules/node-addon-api/doc/buffer.md new file mode 100644 index 0000000..8f76b20 --- /dev/null +++ b/node_modules/node-addon-api/doc/buffer.md @@ -0,0 +1,140 @@ +# Buffer + +The `Napi::Buffer` class creates a projection of raw data that can be consumed by +script. + +## Methods + +### New + +Allocates a new `Napi::Buffer` object with a given length. + +```cpp +static Napi::Buffer Napi::Buffer::New(napi_env env, size_t length); +``` + +- `[in] env`: The environment in which to create the `Napi::Buffer` object. +- `[in] length`: The number of `T` elements to allocate. + +Returns a new `Napi::Buffer` object. + +### New + +Wraps the provided external data into a new `Napi::Buffer` object. + +The `Napi::Buffer` object does not assume ownership for the data and expects it to be +valid for the lifetime of the object. Since the `Napi::Buffer` is subject to garbage +collection this overload is only suitable for data which is static and never +needs to be freed. + +```cpp +static Napi::Buffer Napi::Buffer::New(napi_env env, T* data, size_t length); +``` + +- `[in] env`: The environment in which to create the `Napi::Buffer` object. +- `[in] data`: The pointer to the external data to expose. +- `[in] length`: The number of `T` elements in the external data. + +Returns a new `Napi::Buffer` object. + +### New + +Wraps the provided external data into a new `Napi::Buffer` object. + +The `Napi::Buffer` object does not assume ownership for the data and expects it +to be valid for the lifetime of the object. The data can only be freed once the +`finalizeCallback` is invoked to indicate that the `Napi::Buffer` has been released. + +```cpp +template +static Napi::Buffer Napi::Buffer::New(napi_env env, + T* data, + size_t length, + Finalizer finalizeCallback); +``` + +- `[in] env`: The environment in which to create the `Napi::Buffer` object. +- `[in] data`: The pointer to the external data to expose. +- `[in] length`: The number of `T` elements in the external data. +- `[in] finalizeCallback`: The function to be called when the `Napi::Buffer` is + destroyed. It must implement `operator()`, accept a `T*` (which is the + external data pointer), and return `void`. + +Returns a new `Napi::Buffer` object. + +### New + +Wraps the provided external data into a new `Napi::Buffer` object. + +The `Napi::Buffer` object does not assume ownership for the data and expects it to be +valid for the lifetime of the object. The data can only be freed once the +`finalizeCallback` is invoked to indicate that the `Napi::Buffer` has been released. + +```cpp +template +static Napi::Buffer Napi::Buffer::New(napi_env env, + T* data, + size_t length, + Finalizer finalizeCallback, + Hint* finalizeHint); +``` + +- `[in] env`: The environment in which to create the `Napi::Buffer` object. +- `[in] data`: The pointer to the external data to expose. +- `[in] length`: The number of `T` elements in the external data. +- `[in] finalizeCallback`: The function to be called when the `Napi::Buffer` is + destroyed. It must implement `operator()`, accept a `T*` (which is the + external data pointer) and `Hint*`, and return `void`. +- `[in] finalizeHint`: The hint to be passed as the second parameter of the + finalize callback. + +Returns a new `Napi::Buffer` object. + +### Copy + +Allocates a new `Napi::Buffer` object and copies the provided external data into it. + +```cpp +static Napi::Buffer Napi::Buffer::Copy(napi_env env, const T* data, size_t length); +``` + +- `[in] env`: The environment in which to create the `Napi::Buffer` object. +- `[in] data`: The pointer to the external data to copy. +- `[in] length`: The number of `T` elements in the external data. + +Returns a new `Napi::Buffer` object containing a copy of the data. + +### Constructor + +Initializes an empty instance of the `Napi::Buffer` class. + +```cpp +Napi::Buffer::Buffer(); +``` + +### Constructor + +Initializes the `Napi::Buffer` object using an existing Uint8Array. + +```cpp +Napi::Buffer::Buffer(napi_env env, napi_value value); +``` + +- `[in] env`: The environment in which to create the `Napi::Buffer` object. +- `[in] value`: The Uint8Array reference to wrap. + +### Data + +```cpp +T* Napi::Buffer::Data() const; +``` + +Returns a pointer the external data. + +### Length + +```cpp +size_t Napi::Buffer::Length() const; +``` + +Returns the number of `T` elements in the external data. -- cgit v1.2.3