aboutsummaryrefslogtreecommitdiffstats
path: root/node_modules/node-addon-api/napi-inl.deprecated.h
diff options
context:
space:
mode:
authorpack <pack@packgekko.xyz>2026-08-09 10:37:07 +0000
committerpack <pack@packgekko.xyz>2026-08-09 10:37:07 +0000
commit55a4f1fc869e41aca748c63d3018f0448b1606e0 (patch)
treed132d1d01772b6d53faee3e63c534dea5706b78a /node_modules/node-addon-api/napi-inl.deprecated.h
downloadcrud-55a4f1fc869e41aca748c63d3018f0448b1606e0.tar.gz
first commit
Diffstat (limited to '')
-rw-r--r--node_modules/node-addon-api/napi-inl.deprecated.h186
1 files changed, 186 insertions, 0 deletions
diff --git a/node_modules/node-addon-api/napi-inl.deprecated.h b/node_modules/node-addon-api/napi-inl.deprecated.h
new file mode 100644
index 0000000..3ddbb2e
--- /dev/null
+++ b/node_modules/node-addon-api/napi-inl.deprecated.h
@@ -0,0 +1,186 @@
+#ifndef SRC_NAPI_INL_DEPRECATED_H_
+#define SRC_NAPI_INL_DEPRECATED_H_
+
+////////////////////////////////////////////////////////////////////////////////
+// PropertyDescriptor class
+////////////////////////////////////////////////////////////////////////////////
+
+template <typename Getter>
+inline PropertyDescriptor PropertyDescriptor::Accessor(
+ const char* utf8name,
+ Getter getter,
+ napi_property_attributes attributes,
+ void* /*data*/) {
+ using CbData = details::CallbackData<Getter, Napi::Value>;
+ // TODO: Delete when the function is destroyed
+ auto callbackData = new CbData({getter, nullptr});
+
+ return PropertyDescriptor({utf8name,
+ nullptr,
+ nullptr,
+ CbData::Wrapper,
+ nullptr,
+ nullptr,
+ attributes,
+ callbackData});
+}
+
+template <typename Getter>
+inline PropertyDescriptor PropertyDescriptor::Accessor(
+ const std::string& utf8name,
+ Getter getter,
+ napi_property_attributes attributes,
+ void* data) {
+ return Accessor(utf8name.c_str(), getter, attributes, data);
+}
+
+template <typename Getter>
+inline PropertyDescriptor PropertyDescriptor::Accessor(
+ napi_value name,
+ Getter getter,
+ napi_property_attributes attributes,
+ void* /*data*/) {
+ using CbData = details::CallbackData<Getter, Napi::Value>;
+ // TODO: Delete when the function is destroyed
+ auto callbackData = new CbData({getter, nullptr});
+
+ return PropertyDescriptor({nullptr,
+ name,
+ nullptr,
+ CbData::Wrapper,
+ nullptr,
+ nullptr,
+ attributes,
+ callbackData});
+}
+
+template <typename Getter>
+inline PropertyDescriptor PropertyDescriptor::Accessor(
+ Name name, Getter getter, napi_property_attributes attributes, void* data) {
+ napi_value nameValue = name;
+ return PropertyDescriptor::Accessor(nameValue, getter, attributes, data);
+}
+
+template <typename Getter, typename Setter>
+inline PropertyDescriptor PropertyDescriptor::Accessor(
+ const char* utf8name,
+ Getter getter,
+ Setter setter,
+ napi_property_attributes attributes,
+ void* /*data*/) {
+ using CbData = details::AccessorCallbackData<Getter, Setter>;
+ // TODO: Delete when the function is destroyed
+ auto callbackData = new CbData({getter, setter, nullptr});
+
+ return PropertyDescriptor({utf8name,
+ nullptr,
+ nullptr,
+ CbData::GetterWrapper,
+ CbData::SetterWrapper,
+ nullptr,
+ attributes,
+ callbackData});
+}
+
+template <typename Getter, typename Setter>
+inline PropertyDescriptor PropertyDescriptor::Accessor(
+ const std::string& utf8name,
+ Getter getter,
+ Setter setter,
+ napi_property_attributes attributes,
+ void* data) {
+ return Accessor(utf8name.c_str(), getter, setter, attributes, data);
+}
+
+template <typename Getter, typename Setter>
+inline PropertyDescriptor PropertyDescriptor::Accessor(
+ napi_value name,
+ Getter getter,
+ Setter setter,
+ napi_property_attributes attributes,
+ void* /*data*/) {
+ using CbData = details::AccessorCallbackData<Getter, Setter>;
+ // TODO: Delete when the function is destroyed
+ auto callbackData = new CbData({getter, setter, nullptr});
+
+ return PropertyDescriptor({nullptr,
+ name,
+ nullptr,
+ CbData::GetterWrapper,
+ CbData::SetterWrapper,
+ nullptr,
+ attributes,
+ callbackData});
+}
+
+template <typename Getter, typename Setter>
+inline PropertyDescriptor PropertyDescriptor::Accessor(
+ Name name,
+ Getter getter,
+ Setter setter,
+ napi_property_attributes attributes,
+ void* data) {
+ napi_value nameValue = name;
+ return PropertyDescriptor::Accessor(
+ nameValue, getter, setter, attributes, data);
+}
+
+template <typename Callable>
+inline PropertyDescriptor PropertyDescriptor::Function(
+ const char* utf8name,
+ Callable cb,
+ napi_property_attributes attributes,
+ void* /*data*/) {
+ using ReturnType = decltype(cb(CallbackInfo(nullptr, nullptr)));
+ using CbData = details::CallbackData<Callable, ReturnType>;
+ // TODO: Delete when the function is destroyed
+ auto callbackData = new CbData({cb, nullptr});
+
+ return PropertyDescriptor({utf8name,
+ nullptr,
+ CbData::Wrapper,
+ nullptr,
+ nullptr,
+ nullptr,
+ attributes,
+ callbackData});
+}
+
+template <typename Callable>
+inline PropertyDescriptor PropertyDescriptor::Function(
+ const std::string& utf8name,
+ Callable cb,
+ napi_property_attributes attributes,
+ void* data) {
+ return Function(utf8name.c_str(), cb, attributes, data);
+}
+
+template <typename Callable>
+inline PropertyDescriptor PropertyDescriptor::Function(
+ napi_value name,
+ Callable cb,
+ napi_property_attributes attributes,
+ void* /*data*/) {
+ using ReturnType = decltype(cb(CallbackInfo(nullptr, nullptr)));
+ using CbData = details::CallbackData<Callable, ReturnType>;
+ // TODO: Delete when the function is destroyed
+ auto callbackData = new CbData({cb, nullptr});
+
+ return PropertyDescriptor({nullptr,
+ name,
+ CbData::Wrapper,
+ nullptr,
+ nullptr,
+ nullptr,
+ attributes,
+ callbackData});
+}
+
+template <typename Callable>
+inline PropertyDescriptor PropertyDescriptor::Function(
+ Name name, Callable cb, napi_property_attributes attributes, void* data) {
+ napi_value nameValue = name;
+ return PropertyDescriptor::Function(nameValue, cb, attributes, data);
+}
+
+#endif // !SRC_NAPI_INL_DEPRECATED_H_