@@ -89,6 +89,24 @@ pub const IndexedPropertyHandlerConfiguration = struct {
8989 flags : c.PropertyHandlerFlags = PropertyHandlerFlags .None ,
9090};
9191
92+ pub const NamedPropertyGetterCallback = c .NamedPropertyGetterCallback ;
93+ pub const NamedPropertySetterCallback = c .NamedPropertySetterCallback ;
94+ pub const NamedPropertyQueryCallback = c .NamedPropertyQueryCallback ;
95+ pub const NamedPropertyDeleterCallback = c .NamedPropertyDeleterCallback ;
96+ pub const NamedPropertyEnumeratorCallback = c .NamedPropertyEnumeratorCallback ;
97+ pub const NamedPropertyDefinerCallback = c .NamedPropertyDefinerCallback ;
98+ pub const NamedPropertyDescriptorCallback = c .NamedPropertyDescriptorCallback ;
99+ pub const NamedPropertyHandlerConfiguration = struct {
100+ getter : ? NamedPropertyGetterCallback = null ,
101+ setter : ? NamedPropertySetterCallback = null ,
102+ query : ? NamedPropertyQueryCallback = null ,
103+ deleter : ? NamedPropertyDeleterCallback = null ,
104+ enumerator : ? NamedPropertyEnumeratorCallback = null ,
105+ definer : ? NamedPropertyDefinerCallback = null ,
106+ descriptor : ? NamedPropertyDescriptorCallback = null ,
107+ flags : c.PropertyHandlerFlags = PropertyHandlerFlags .None ,
108+ };
109+
92110pub const CreateParams = c .CreateParams ;
93111
94112pub const SharedPtr = c .SharedPtr ;
@@ -970,7 +988,22 @@ pub const ObjectTemplate = struct {
970988 }
971989
972990 pub fn setIndexedProperty (self : Self , configuration : IndexedPropertyHandlerConfiguration , data_val : anytype ) void {
973- c .v8__ObjectTemplate__SetIndexedHandler (self .handle , c.IndexedPropertyHandlerConfiguration {
991+ const conf = c.IndexedPropertyHandlerConfiguration {
992+ .getter = configuration .getter orelse null ,
993+ .setter = configuration .setter orelse null ,
994+ .query = configuration .query orelse null ,
995+ .deleter = configuration .deleter orelse null ,
996+ .enumerator = configuration .enumerator orelse null ,
997+ .definer = configuration .definer orelse null ,
998+ .descriptor = configuration .descriptor orelse null ,
999+ .data = getDataHandle (data_val ),
1000+ .flags = configuration .flags ,
1001+ };
1002+ c .v8__ObjectTemplate__SetIndexedHandler (self .handle , & conf );
1003+ }
1004+
1005+ pub fn setNamedProperty (self : Self , configuration : NamedPropertyHandlerConfiguration , data_val : anytype ) void {
1006+ const conf = c.NamedPropertyHandlerConfiguration {
9741007 .getter = configuration .getter orelse null ,
9751008 .setter = configuration .setter orelse null ,
9761009 .query = configuration .query orelse null ,
@@ -980,7 +1013,8 @@ pub const ObjectTemplate = struct {
9801013 .descriptor = configuration .descriptor orelse null ,
9811014 .data = getDataHandle (data_val ),
9821015 .flags = configuration .flags ,
983- });
1016+ };
1017+ c .v8__ObjectTemplate__SetNamedHandler (self .handle , & conf );
9841018 }
9851019
9861020 pub fn toValue (self : Self ) Value {
0 commit comments