summaryrefslogtreecommitdiff
path: root/node_modules/nan/doc/callback.md
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2022-02-25 18:08:27 +0100
committerMinteck <contact@minteck.org>2022-02-25 18:08:27 +0100
commita5c417748112e9d88d9ca522561e338eb9ba9007 (patch)
treeddab6e854fe8b50942a397a0d9fd8330ad662a97 /node_modules/nan/doc/callback.md
downloadargon-cdn-a5c417748112e9d88d9ca522561e338eb9ba9007.tar.gz
argon-cdn-a5c417748112e9d88d9ca522561e338eb9ba9007.tar.bz2
argon-cdn-a5c417748112e9d88d9ca522561e338eb9ba9007.zip
Initial commit
Diffstat (limited to 'node_modules/nan/doc/callback.md')
-rw-r--r--node_modules/nan/doc/callback.md76
1 files changed, 76 insertions, 0 deletions
diff --git a/node_modules/nan/doc/callback.md b/node_modules/nan/doc/callback.md
new file mode 100644
index 0000000..f7af0bf
--- /dev/null
+++ b/node_modules/nan/doc/callback.md
@@ -0,0 +1,76 @@
+## Nan::Callback
+
+`Nan::Callback` makes it easier to use `v8::Function` handles as callbacks. A class that wraps a `v8::Function` handle, protecting it from garbage collection and making it particularly useful for storage and use across asynchronous execution.
+
+ - <a href="#api_nan_callback"><b><code>Nan::Callback</code></b></a>
+
+<a name="api_nan_callback"></a>
+### Nan::Callback
+
+```c++
+class Callback {
+ public:
+ Callback();
+
+ explicit Callback(const v8::Local<v8::Function> &fn);
+
+ ~Callback();
+
+ bool operator==(const Callback &other) const;
+
+ bool operator!=(const Callback &other) const;
+
+ v8::Local<v8::Function> operator*() const;
+
+ MaybeLocal<v8::Value> operator()(AsyncResource* async_resource,
+ v8::Local<v8::Object> target,
+ int argc = 0,
+ v8::Local<v8::Value> argv[] = 0) const;
+
+ MaybeLocal<v8::Value> operator()(AsyncResource* async_resource,
+ int argc = 0,
+ v8::Local<v8::Value> argv[] = 0) const;
+
+ void SetFunction(const v8::Local<v8::Function> &fn);
+
+ v8::Local<v8::Function> GetFunction() const;
+
+ bool IsEmpty() const;
+
+ void Reset(const v8::Local<v8::Function> &fn);
+
+ void Reset();
+
+ MaybeLocal<v8::Value> Call(v8::Local<v8::Object> target,
+ int argc,
+ v8::Local<v8::Value> argv[],
+ AsyncResource* async_resource) const;
+ MaybeLocal<v8::Value> Call(int argc,
+ v8::Local<v8::Value> argv[],
+ AsyncResource* async_resource) const;
+
+ // Deprecated versions. Use the versions that accept an async_resource instead
+ // as they run the callback in the correct async context as specified by the
+ // resource. If you want to call a synchronous JS function (i.e. on a
+ // non-empty JS stack), you can use Nan::Call instead.
+ v8::Local<v8::Value> operator()(v8::Local<v8::Object> target,
+ int argc = 0,
+ v8::Local<v8::Value> argv[] = 0) const;
+
+ v8::Local<v8::Value> operator()(int argc = 0,
+ v8::Local<v8::Value> argv[] = 0) const;
+ v8::Local<v8::Value> Call(v8::Local<v8::Object> target,
+ int argc,
+ v8::Local<v8::Value> argv[]) const;
+
+ v8::Local<v8::Value> Call(int argc, v8::Local<v8::Value> argv[]) const;
+};
+```
+
+Example usage:
+
+```c++
+v8::Local<v8::Function> function;
+Nan::Callback callback(function);
+callback.Call(0, 0);
+```