node-arraybuffer
Version:
NodeJS C++ ArrayBuffer handler
72 lines (52 loc) • 1.98 kB
Markdown
NodeJS C++ ArrayBuffer handler
## Install
```
npm install node-arraybuffer --save
```
## Usage
Add node-arraybuffer to your project binding.gyp
```
"include_dirs" : [
"<!(node -e \"require('node-arraybuffer')\")"
]
```
And add #include header in source code
```
#include <ArrayBuffer.h>
```
## NodeJS version < 12
```
static ArrayBuffer* New(const char *str = 0)
static ArrayBuffer* New(const char *str, size_t length)
static ArrayBuffer* New(const std::string &data)
static ArrayBuffer* New(const v8::Local<v8::Object> &arrayBuffer)
static ArrayBuffer* New(const v8::Local<v8::Value> &arg)
v8::Local<v8::Object> ToArrayBuffer() const
v8::Local<v8::String> ToString() const
const char *ToUtf8() const
void *Data() const
size_t Length() const
size_t ByteLength() const
```
## NodeJS version >= 12
```
static ArrayBuffer* New(const char *str = 0)
static ArrayBuffer* New(const char *str, size_t length)
static ArrayBuffer* New(const std::string &data)
static ArrayBuffer* New(const v8::Local<v8::ArrayBuffer> &arrayBuffer)
static ArrayBuffer* New(const v8::Local<v8::Value> &arg)
static ArrayBuffer* New(v8::Isolate *isolate, const char *str = 0)
static ArrayBuffer* New(v8::Isolate *isolate, const char *str, size_t length)
static ArrayBuffer* New(v8::Isolate *isolate, const std::string &data)
static ArrayBuffer* New(v8::Isolate *isolate, const v8::Local<v8::ArrayBuffer> &arrayBuffer)
static ArrayBuffer* New(v8::Isolate *isolate, const v8::Local<v8::Value> &arg)
v8::Local<v8::ArrayBuffer> ToArrayBuffer(v8::Isolate *isolate = 0) const
v8::Local<v8::String> ToString(v8::Isolate *isolate = 0) const
const char *ToUtf8() const
void *Data() const
size_t Length() const
size_t ByteLength() const
```
## Example
[sample.cc](https://github.com/vmolsa/node-arraybuffer-example/blob/master/sample.cc)
[sample.js](https://github.com/vmolsa/node-arraybuffer-example/blob/master/sample.js)