Server IP : 92.205.26.207 / Your IP : 216.73.216.16 Web Server : Apache System : Linux 207.26.205.92.host.secureserver.net 4.18.0-553.60.1.el8_10.x86_64 #1 SMP Thu Jul 10 04:01:16 EDT 2025 x86_64 User : zikryat ( 1002) PHP Version : 8.3.23 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/zikryat/public_html/node_modules/mailparser/../node-addon-api/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
#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_