Skip to content

Commit 6f1ee74

Browse files
authored
Merge pull request #70 from lightpanda-io/expose_mark_as_undetectable_and_call_as_function
Expose ObjectTemplate's MarkAsUndetectable and SetCallAsFunctionHandler
2 parents 57aa2aa + 288d2bc commit 6f1ee74

File tree

3 files changed

+24
-0
lines changed

3 files changed

+24
-0
lines changed

src/binding.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1015,6 +1015,17 @@ void v8__ObjectTemplate__SetNativeDataProperty__DEFAULT2(
10151015
ptr_to_local(&self)->SetNativeDataProperty(ptr_to_local(&key), getter, setter);
10161016
}
10171017

1018+
void v8__ObjectTemplate__MarkAsUndetectable(
1019+
const v8::ObjectTemplate& self) {
1020+
ptr_to_local(&self)->MarkAsUndetectable();
1021+
}
1022+
1023+
void v8__ObjectTemplate__SetCallAsFunctionHandler(
1024+
const v8::ObjectTemplate& self,
1025+
v8::FunctionCallback callback_or_null) {
1026+
ptr_to_local(&self)->SetCallAsFunctionHandler(callback_or_null);
1027+
}
1028+
10181029
// Array
10191030

10201031
const v8::Array* v8__Array__New(

src/binding.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -873,6 +873,11 @@ void v8__ObjectTemplate__SetNativeDataProperty__DEFAULT2(
873873
const Name* key,
874874
AccessorNameGetterCallback getter,
875875
AccessorNameSetterCallback setter);
876+
void v8__ObjectTemplate__MarkAsUndetectable(
877+
const ObjectTemplate* self);
878+
void v8__ObjectTemplate__SetCallAsFunctionHandler(
879+
const ObjectTemplate* self,
880+
FunctionCallback callback_or_null);
876881

877882
typedef enum PropertyHandlerFlags {
878883
kNonMasking = 1,

src/v8.zig

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1065,6 +1065,14 @@ pub const ObjectTemplate = struct {
10651065
c.v8__ObjectTemplate__SetAccessorProperty__DEFAULT2(self.handle, name.handle, getter.handle, setter.handle);
10661066
}
10671067

1068+
pub fn markAsUndetectable(self: Self) void {
1069+
c.v8__ObjectTemplate__MarkAsUndetectable(self.handle);
1070+
}
1071+
1072+
pub fn setCallAsFunctionHandler(self: Self, callback: FunctionCallback) void {
1073+
c.v8__ObjectTemplate__SetCallAsFunctionHandler(self.handle, callback);
1074+
}
1075+
10681076
pub fn toValue(self: Self) Value {
10691077
return .{
10701078
.handle = self.handle,

0 commit comments

Comments
 (0)