@@ -81,10 +81,17 @@ class module
81
81
static_assert (!detail::is_callable<Variable>::value, " Variable must not be callable" );
82
82
v8::HandleScope scope (isolate_);
83
83
84
+ #if V8_MAJOR_VERSION > 12 || (V8_MAJOR_VERSION == 12 && V8_MINOR_VERSION >= 1)
85
+ obj_->SetAccessor (v8pp::to_v8 (isolate_, name),
86
+ &var_get<Variable>, &var_set<Variable>,
87
+ detail::external_data::set (isolate_, &var),
88
+ v8::PropertyAttribute (v8::DontDelete));
89
+ #else
84
90
obj_->SetAccessor (v8pp::to_v8 (isolate_, name),
85
91
&var_get<Variable>, &var_set<Variable>,
86
92
detail::external_data::set (isolate_, &var),
87
93
v8::DEFAULT, v8::PropertyAttribute (v8::DontDelete));
94
+ #endif
88
95
return *this ;
89
96
}
90
97
@@ -107,7 +114,11 @@ class module
107
114
v8::AccessorSetterCallback setter = property_type::is_readonly ? nullptr : property_type::template set<Traits>;
108
115
v8::Local<v8::String> v8_name = v8pp::to_v8 (isolate_, name);
109
116
v8::Local<v8::Value> data = detail::external_data::set (isolate_, property_type (std::move (get), std::move (set)));
117
+ #if V8_MAJOR_VERSION > 12 || (V8_MAJOR_VERSION == 12 && V8_MINOR_VERSION >= 1)
118
+ obj_->SetAccessor (v8_name, getter, setter, data, v8::PropertyAttribute (v8::DontDelete));
119
+ #else
110
120
obj_->SetAccessor (v8_name, getter, setter, data, v8::DEFAULT, v8::PropertyAttribute (v8::DontDelete));
121
+ #endif
111
122
return *this ;
112
123
}
113
124
0 commit comments