summaryrefslogtreecommitdiff
path: root/node_modules/node-addon-api/doc/buffer.md
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/node-addon-api/doc/buffer.md')
-rw-r--r--node_modules/node-addon-api/doc/buffer.md140
1 files changed, 140 insertions, 0 deletions
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<T> 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<T> 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 <typename Finalizer>
+static Napi::Buffer<T> 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 <typename Finalizer, typename Hint>
+static Napi::Buffer<T> 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<T> 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.