summaryrefslogtreecommitdiff
path: root/node_modules/nan/nan_callbacks.h
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/nan/nan_callbacks.h')
-rw-r--r--node_modules/nan/nan_callbacks.h88
1 files changed, 88 insertions, 0 deletions
diff --git a/node_modules/nan/nan_callbacks.h b/node_modules/nan/nan_callbacks.h
new file mode 100644
index 0000000..53ede84
--- /dev/null
+++ b/node_modules/nan/nan_callbacks.h
@@ -0,0 +1,88 @@
+/*********************************************************************
+ * NAN - Native Abstractions for Node.js
+ *
+ * Copyright (c) 2018 NAN contributors
+ *
+ * MIT License <https://github.com/nodejs/nan/blob/master/LICENSE.md>
+ ********************************************************************/
+
+#ifndef NAN_CALLBACKS_H_
+#define NAN_CALLBACKS_H_
+
+template<typename T> class FunctionCallbackInfo;
+template<typename T> class PropertyCallbackInfo;
+template<typename T> class Global;
+
+typedef void(*FunctionCallback)(const FunctionCallbackInfo<v8::Value>&);
+typedef void(*GetterCallback)
+ (v8::Local<v8::String>, const PropertyCallbackInfo<v8::Value>&);
+typedef void(*SetterCallback)(
+ v8::Local<v8::String>,
+ v8::Local<v8::Value>,
+ const PropertyCallbackInfo<void>&);
+typedef void(*PropertyGetterCallback)(
+ v8::Local<v8::String>,
+ const PropertyCallbackInfo<v8::Value>&);
+typedef void(*PropertySetterCallback)(
+ v8::Local<v8::String>,
+ v8::Local<v8::Value>,
+ const PropertyCallbackInfo<v8::Value>&);
+typedef void(*PropertyEnumeratorCallback)
+ (const PropertyCallbackInfo<v8::Array>&);
+typedef void(*PropertyDeleterCallback)(
+ v8::Local<v8::String>,
+ const PropertyCallbackInfo<v8::Boolean>&);
+typedef void(*PropertyQueryCallback)(
+ v8::Local<v8::String>,
+ const PropertyCallbackInfo<v8::Integer>&);
+typedef void(*IndexGetterCallback)(
+ uint32_t,
+ const PropertyCallbackInfo<v8::Value>&);
+typedef void(*IndexSetterCallback)(
+ uint32_t,
+ v8::Local<v8::Value>,
+ const PropertyCallbackInfo<v8::Value>&);
+typedef void(*IndexEnumeratorCallback)
+ (const PropertyCallbackInfo<v8::Array>&);
+typedef void(*IndexDeleterCallback)(
+ uint32_t,
+ const PropertyCallbackInfo<v8::Boolean>&);
+typedef void(*IndexQueryCallback)(
+ uint32_t,
+ const PropertyCallbackInfo<v8::Integer>&);
+
+namespace imp {
+typedef v8::Local<v8::AccessorSignature> Sig;
+
+static const int kDataIndex = 0;
+
+static const int kFunctionIndex = 1;
+static const int kFunctionFieldCount = 2;
+
+static const int kGetterIndex = 1;
+static const int kSetterIndex = 2;
+static const int kAccessorFieldCount = 3;
+
+static const int kPropertyGetterIndex = 1;
+static const int kPropertySetterIndex = 2;
+static const int kPropertyEnumeratorIndex = 3;
+static const int kPropertyDeleterIndex = 4;
+static const int kPropertyQueryIndex = 5;
+static const int kPropertyFieldCount = 6;
+
+static const int kIndexPropertyGetterIndex = 1;
+static const int kIndexPropertySetterIndex = 2;
+static const int kIndexPropertyEnumeratorIndex = 3;
+static const int kIndexPropertyDeleterIndex = 4;
+static const int kIndexPropertyQueryIndex = 5;
+static const int kIndexPropertyFieldCount = 6;
+
+} // end of namespace imp
+
+#if NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION
+# include "nan_callbacks_12_inl.h" // NOLINT(build/include)
+#else
+# include "nan_callbacks_pre_12_inl.h" // NOLINT(build/include)
+#endif
+
+#endif // NAN_CALLBACKS_H_